package service

import (
	"encoding/json"
	"github.com/nsqio/go-nsq"
	"kingbloc.util/util"
)

var proddd *nsq.Producer

// 新建生产者
func InitProducer(addAndPort string) {
	var err error
	proddd, err = nsq.NewProducer(addAndPort, nsq.NewConfig())
	if err != nil {
		panic(err)
	}
}

// nsq发布消息
func Publish(msg *Msg) {
	data, _ := json.Marshal(msg)
	// 发布消息
	err := proddd.Publish(msg.Topic, data)
	util.CheckErr(err)
}

type Msg struct {
	Topic  string `json:"topic"`
	Method string `json:"method"`
	Data   string `json:"data"`
}
